نوشته شده توسط : مژده

تبدیل تاریخ میلادی به شمسی در php :تا به‌ حال به این موضوع فکر کرده ‌اید که اگر امکان استفاده از تاریخ در وب سایت‌ها وجود نداشت، چه اتفاقی می‌افتاد؟ تقریبا بدون ثبت و خواندن تاریخ در وب سایت ها، پیاده سازی هیچ کدام از خدماتی که در حال حاضر در سایت‌ها ارائه می‌شوند، کار ساده ای نخواهد بود. ثبت نام کاربران، گزارش‌های مالی، زمان پست‌های ارسالی و… نمونه ای از خدماتی است که با تاریخ در ارتباط اند. بنابراین کار با تاریخ یکی از رایج‌ترین مواردی است که در طراحی و برنامه نویسی سایت‌ها صورت می‌گیرد. کمتر سایت و یا اپلیکیشنی پیدا خواهید کرد که از تاریخ استفاده نکرده باشد.

 

تبدیل تاریخ شمسی به میلادی php

روش‌های زیادی برای استفاده از تاریخ در PHP وجود دارد. برای کار با تاریخ توابع و کتبخانه‌های زیادی توسعه داده شده است که استفاده از آن‌ها با توجه به مستندات ارائه شده کار چندان سختی نخواهد بود. اما تاریخی که به صورت پیش فرض در این زبان استفاده می‌شود به صورت میلادی است. یکی از مشکلات برنامه نویسان و طراحان ایرانی، استفاده از تاریخ شمسی و قابلیت تبدیل آن به تاریخ میلادی در سایت‌ها است. در این مقاله، روش‌های مختلف تبدیل تاریخ شمسی به میلادی در زبان برنامه نویسی php را به شما آموزش خواهیم داد. پس اگر قصد دارید از تاریخ شمسی در وب اپلیکیشن‌های خود استفاده کنید، از شما دعوت می‌کنیم تا در انتهای این مقاله همراه ما باشید.

تبدیل تاریخ

تبدیل تاریخ شمسی به میلادی در PHP با استفاده از کتابخانه Verta

ورتا (Verta) پکیجی برای تبدیل تاریخ شمسی و میلادی به یکدیگر است که برای فریم ورک لاراول عرضه شده است. این پکیج توابع کمکی زیادی را شامل می‌شود که کاربران با بکارگیری آن‌ها می‌توانند به راحتی تبدیلات تاریخ را انجام دهند. زبان PHP دارای کلاسی برای تاریخ و زمان است که پکیج ورتا از همین کلاس ارث بری کرده است. ورتا از الگوریتم تبدیل تاریخ شمسی به میلادی و بالعکس استفاده می‌کند. الگوریتم مبدل تاریخی که در این پکیج استفاده شده است بر اساس الگوریتم تاریخ جلالی وحید سهراب لو، روزبه پورنادر و محمد توسی می‌باشد.

برای استفاده از این پکیج در وب اپلیکیشن‌های خود نیاز به نصب و استفاده از کامپوزر (Composer) دارید. کامپوزر یک ابزار کامند لاین است که به منظور کاهش وابستگی نرم افزارها به کتابخانه‌ها و پکیج‌های خارجی ارائه شده است. با استفاده از این ابزار به راحتی می‌توان پکیج‌ها و کتابخانه را دریافت و مدیریت کنید. منبع اصلی پکیج‌ها و کتبخانه‌های کامپوزر سایت Packagist است که به عنوان مخزن پیش‌فرض پروژه‌های PHP شناخته می‌شود. در این سایت توسعه دهندگان مختلف کتابخانه‌ها و پکیج‌های مختلف پروژه ‌های خود را در دسترس سایر توسعه دهندگان قرار می‌دهند.

شما می توانید از نرم افزار تقویم آنلاین برای مدیریت زمان و تاریخ امور خود و تبدیل تاریخ میلادی به شمسی استفاده کنید.

 

آموزش نصب Composer

ابتدا باید ابزار کامپوزر را باید دانلود کنید. برای دانلود کامپوزر به سایت رسمی این برنامه به نشانی getcomposer.org مراجعه کنید. برای دانلود آخرین نسخه این برنامه مطابق عکس زیر بر روی Download کلیک کنید. آموزش نصب کامپوزر تبدیل تاریخ شمسی به میلادی در PHP
در صفحه بعد که هدایت می‌شوید، روش‌های مختلفی برای نصب کامپوزر وجود دارد. در این بخش ساده‌ترین روش نصب این ابزار بررسی می‌شود. در این صفحه برای دریافت فایل نصبی کامپوزر بر روی عبارت Composer-Setup.exe کلیک کنید.

پس از دریافت فایل اجرایی کامپوزر، آن را اجرا کنید و مراحل را مانند تصاویر دنبال کنید. در این مرحله از نصب باید نشانی فایل اجرایی php را برای نصب Composer مشخص نمایید. فایل اجرایی PHP معمولا توسط نرم افزارهایی مانند Xampp، Wamp و… نصب می‌شود. البته معمولا فایل نصبی به صورت اتوماتیک آدرس فایل اجرایی PHP را شناسایی می‌کند. اگر نرم‌ افزار نصب نتوانست به صورت خودکار این فایل را شناسایی کند، لازم است تا با زدن دکمه‌ Browse این مرحله را به صورت دستی پیش ببرید. پس انجام این کار بر روی گزینه Next کلیک کنید.

آموزش نصب کامپوزر تبدیل تاریخ شمسی به میلادی در PHP
برای نصب این ابزار باید به اینترنت متصل باشید. پس این مرحله، دیگر نیازی به تغییرات و انجام عمل خاصی وجود ندارد و کافی است بر روی گزینه‌های Next و در نهایت Install کلیک کنید. تبریک می‌گویم، کامپوزر شما نصب شده است. اکنون می‌توانیم برای دریافت کتابخانه ورتا از این ابزار استفاده کنیم.

 

نصب کتابخانه Verta

برای نصب و بکارگیری کتابخانه ورتا در کامند لاین پروژه خود، دستور زیر را وارد کنید.

$ composer require hekmatinasser/verta

حال اگر بخواهید از این کتابخانه در پروژه لاراولی خود استفاده کنید، باید این پکیج را درون پروژه خود اضافه کنید. برای این کار دستور زیر را وارد کنید. البته در صورتی که قصد دارید از این پکیج در پروژه‌های غیر لاراولی استفاده کنید، می‌توانید این مرحله را نادیده بگیرید.

// config/app.php
‘providers’ => [

Hekmatinasser\Verta\VertaServiceProvider::class,

],

‘alias’ => [

‘Verta’ => Hekmatinasser\Verta\Verta::class,
]

نحوه استفاده از کتابخانه Verta

نحوه استفاده از این پکیج در نرم افزارها بسیار ساده است. کافی است در بالای هر فایلی از پروژه که نیاز به استفاده از کلاس ورتا دارید، از دستور زیر استفاده کنید. با این کار به راحتی می‌توانید از توابع پیش فرض این پکیج در کدهای خود استفاده کنید. پکیج ورتا توابع بسیار زیادی را به منظور کار با تاریخ برای توسعه دهندگان آماده کرده است. با استفاده از این توابع می‌توانید برای بدست آوردن تاریخ و زمان کنونی شمسی، نمایش تاریخ شمسی، نمایش تاریخ میلادی، تبدیل اعداد انگلیسی به فارسی و…. استفاده کنید.

use Verta;
// or
use Hekmatinasser\Verta\Verta;

تصور کنید که قصد دارید در نرم افزار خود با استفاده از این کتابخانه، تاریخ میلادی را به شمسی تبدیل کنید. برای این کار کافی است از دستور زیر استفاده کنید. البته از آنجایی که این تبدیلات در نرم افزارها بسیار پر استفاده هستند، توابع ساده‌تری برای استفاده از آن‌ها در این پکیج نوشته شده اند.

$v = new Verta(‘2016-12-27 14:12:32’);
$v = Verta::instance(‘2016-12-25 11:12:36’);
$v = Facades\Verta::instance(‘2016-12-25 11:12:36’);

برای تبدیل تاریخ از میلادی به شمسی به صورت ساده، می‌توانید از دستور زیر استفاده کنید :

return Verta::getGregorian(1394,10,4);
//جواب این دستور به صورت زیر است
// [2015,12,25]

همچنین برای تبدیل تاریخ از شمسی به میلادی به صورت ساده، از دستور زیر استفاده کنید :

return Verta::getJalali(2015,12,25);
//جواب این دستور به صورت زیر است
// [1394,10,4]

همانطور که اشاره شد این پکیج کاربردهای بسیاری در نرم افزارهای ایرانی و فارسی زبان دارد. بنابراین اگر قصد دارید از سایر قابلیت‌های این پکیج استفاده کنید به شما پیشنهاد می‌کنیم که مستندات آن را مطالعه کنید.

 

تبدیل تاریخ شمسی به میلادی در PHP با استفاده از کتابخانه Jdf

دومین روش استفاده از کتابخانه Jdf است. Jdf کتابخانه ای برای تبدیل تاریخ شمسی و میلادی به یکدیگر است که برای زبان‌های برنامه نویسی مختلف توسعه داده شده است. استفاده از این روش نسبت به روش قبل از مزیت‌های کمتری برخودار است. زیرا پکیج ورتا امکانات بسیار زیادی را برای کار با تاریخ در اختیار توسعه دهندگان وب قرار می‌دهد. ازطرفی دیگر پکیج ورتا با استفاده از کدنویسی شی گرا پیاده سازی شده است، به همین دلیل می‌تواند به راحتی در هر بخش از کدهای شما استفاده شود. همچنین علاوه بر تمیز شدن کدهای شما، باعث کاهش میزان کدنویسی می‌شود.

بنابراین زمانی که نیاز به استفاده از توابع مختلف کار با تاریخ احساس نمی‌شود، استفاده از کتابخانه Jdf می‌تواند گزینه مناسبی باشد. همچنین اگر پروژه شما به صورت شی گرا پیاده سازی نشده است، استفاده از این روش پیشنهاد نمی‌شود. در این کتابخانه دو تابع gregorian_to_jalali و jalali_to_gregorian از توابع بسیار کاربردی برای تبدیل تاریخ از میلادی (گرگوری) به هجری شمسی (جلالی) و برعکس می‌باشند. توابع مورد استفاده در این کتابخانه برای تبدیل تاریخ میلادی به شمسی با استفاده از PHP در یک فایل تعریف شده اند. پس در هر جایی از که نیاز به تبدیل تاریخ داشته باشید کافی است که ابتدا فایل اصلی کتابخانه را دانلود و سپس در پروژه خود Include کنید. بعد از این کار می‌توانید به راحتی از توابع این کتابخانه در کدهای خود استفاده کنید.

 

 

راهنمای تابع gregorian_to_jalali و jalali_to_gregorian

این تابع‌ها دارای 4 پارامتر (آرگومان) بوده و وظیفه اصلی آن ها، تبدیل تایخ هجری شمسی به میلادی و یا برعکس می‌باشد. سه پارمتر اول این توابع حتما باید وارد شوند، اما پارامتر چهارم در آن‌ها اختیاری است. اگر بخواهیم تاریخ میلادی را به شمسی تبدیل کنیم باید از تابع gregorian_to_jalali استفاده کنیم. تاریخی که در این تابع وارد می‌کنیم، حتماً باید میلادی باشد تا در خروجی به هجری شمسی تبدیل گردد. خروجی این تابع در حالت پیشفرض به صورت آرایه است، اما به وسیله پارامتر چهارم می‌توان خروجی را به عبارت (متن-رشته) تبدیل کرد.

همچنین اگر قصد داشته باشیم که تاریخ شمسی را به میلادی تبدیل کنیم، باید از تابع jalali_to_gregorian استفاده کنیم. تاریخی که در این تابع باید وارد شود حتما باید شمسی باشد تا در خروجی به صورت میلادی نمایش داده شود. پارامترهای این توابع مشابه هم هستند و از نظر کارکرد تفاوتی ندارند.

  • تابع تبدیل تاریخ میلادی به شمسی :

mixed gregorian_to_jalali( int $year , int $month , int $day [, string $mod = “” ] )

gregorian_to_jalali($g_y,$g_m,$g_d,$mod);

 

  • تابع تبدیل تاریخ شمسی به میلادی

:

([ “”=mixed jalali_to_gregorian( int $year , int $month , int $day [, string $mod

jalali_to_gregorian($j_y,$j_m,$j_d,$mod);

 

پارامترهای تابع gregorian_to_jalali عبارتند از :

  • g_y$ : پارامتر اول ، سال میلادی یا شمسی ( کامل 4 رقمی )
  • g_m$ : پارامتر دوم ، ماه میلادی ( 12- 1 )
  • g_d$ : پارامتر سوم ، روز میلادی ( 31 – 1 )
  • mod$ : پارامتر چهارم ، یک پارامتر اختیاری است. تا زمانی که این پارامتر را وارد نکنید یا خالی بگذارید، خروجی تابع به صورت یک آرایه از سال و ماه و روز هجری شمسی خواهد بود . اما اگر هر مقدار دلخواهی را برای این پارامتر وارد نمایید، نوع خروجی به یک عبارت (متن-رشته) تغییر خواهد کرد که ترکیبی از سال و ماه و روز است و در بین سال و ماه و روز، همان کاراکتری که در این پارامتر وارد نموده بودید، به عنوان جدا کننده قرار می‌گیرد. به مثال توجّه بفرمایید:
    include jdf.php;

gregorian_to_jalali(2011,2,11);// خروجی: array(1389,11,22);

gregorian_to_jalali(2011,2,11,’ / ‘);// خروجی: 1389 / 11 / 22

 

پارامترهای تابع jalali_to_gregorian عبارتند از :

  • j_y$ : پارامتر اول ، سال هجری شمسی ( کامل 4 رقمی )
  • j_m$ : پارامتر دوم ، ماه هجری شمسی ( 12- 1 )
  • j_d$ : پارامتر سوم ، روز هجری شمسی ( 31 – 1 )
  • mod$ : پارامتر چهارم ، یک پارامتر اختیاری است. تا زمانی که این پارامتر را وارد نکنید یا خالی بگذارید، خروجی تابع به صورت یک آرایه از سال و ماه و روز میلادی خواهد بود . اما اگر هر مقدار دلخواهی را برای این پارامتر وارد نمایید، نوع خروجی به یک عبارت (متن-رشته) تغییر خواهد کرد که ترکیبی از سال و ماه و روز است و در بین سال و ماه و روز، همان کاراکتری که در این پارامتر وارد نموده بودید، به عنوان جدا کننده قرار می‌گیرد. به مثال توجّه بفرمایید:
    include jdf.php;

jalali_to_gregorian(1389,11,22);// خروجی: array(2011,2,11);

jalali_to_gregorian(1389,11,22,’ – ‘);// خروجی: 2011 – 2 – 11

 

نکته :

صفر قبل از اعداد ورودی را حذف کنید: مثلا 02 را به 2 تبدیل نموده، سپس به آرگومان‌ها وارد کنید.

 

منبع:

https://blog.yar.cloud/%d8%aa%d8%a8%d8%af%db%8c%d9%84-%d8%aa%d8%a7%d8%b1%db%8c%d8%ae-%d8%b4%d9%85%d8%b3%db%8c-%d8%a8%d9%87-%d9%85%db%8c%d9%84%d8%a7%d8%af%db%8c-php/



:: برچسب‌ها: سیستم آنلاین تبدیل تاریخ ,
:: بازدید از این مطلب : 82
|
امتیاز مطلب : 0
|
تعداد امتیازدهندگان : 0
|
مجموع امتیاز : 0
تاریخ انتشار : سه شنبه 23 شهريور 1400 | نظرات ()
نوشته شده توسط : مژده

 

تاریخ شمسی و میلادی با کمی تقریب، قابلیت تبدیل به یکدیگر را دارند. به این معنی که به کمک یک رابطه ریاضی، تاریخ شمسی به تاریخ میلادی تبدیل شده و حتی برعکس می‌توان تاریخ میلادی را به شمسی تبدیل کرد. البته برای انجام این کار در نسخه‌های قدیمی اکسل، احتیاج به افزونه‌ یا Addin تاریخ شمسی در اکسل داشتیم. ولی در نسخه اکسل ۲۰۱۶ و ۲۰۱۹، دیگر احتیاجی به این افزونه‌ها نیست و می‌توان مستقیم هر تاریخ شمسی را به میلادی یا برعکس تبدیل کرد. بنابراین موضوع این نوشتار از مجله فرادرس را تبدیل تقویم شمسی به میلادی در اکسل قرار داده‌ایم تا با نحوه انجام این کار آشنا شویم.

تبدیل تاریخ شمسی به میلادی در اکسل

با توابع و محاسبات برحسب تاریخ در اکسل در مطلب محاسبات تاریخ در اکسل — راهنمای کاربردی آشنا شده‌اید. در این نوشتار قصد داریم بدون فرمول نویسی یا استفاده از افزونه‌های تجاری (رایگان-پولی)، عمل تبدیل تاریخ شمسی به میلادی در اکسل را اجرا کنیم. البته توجه داشته باشید که این امر فقط در نسخه‌های اکسل ۲۰۱۶ به بعد امکان‌پذیر است.

ابتدا یادآوری می‌کنیم که تاریخ و ساعت، به صورت یک شماره سریال در سلول ثبت می‌شوند و آنچه باعث می‌شود، به شکل تاریخی نمایش داده شوند، انتخاب قالب تاریخی برای آن‌ها است. از آنجایی که در ویندوز ۱۰ و اکسل ۲۰۱۶، تاریخ شمسی قابل شناسایی و استفاده است، می‌توان به راحتی هر تاریخ شمسی را به میلادی یا تاریخ میلادی را به شمسی تبدیل کرد.

به تصویر ۱ دقت کنید، تاریخ اولین روز شمسی در سال ۱۳۹۹ در سلول A1 به صورت «۰۱/۰۱/۱۳۹۹» ثبت شده است. برای ثبت این مقدار ابتدا لازم است روی سلول کلیک راست کرده و از فهرست ظاهر شده، گزینه Format Cells را انتخاب کنیم. با تنظیم پارامترهای پنجره مطابق با تصویر ۱، محتویات سلول با تاریخ شمسی، کامل می‌شود.تبدیل تاریخ

تصویر ۱: مراحل انتخاب قالب تاریخ شمسی در اکسل

همانطور که مشخص است، ترتیب و مراحل کار با شماره در تصویر ۱، دیده می‌شوند. توجه داشته باشید که در قسمت شماره ۶، نحوه نمایش تاریخ شمسی در سلول دیده می‌شود و بخش شماره ۷ نیز محتویات واقعی سلول را در نوار فرمول نشان می‌دهد. از آنجایی که گزینه شماره ۵، یعنی Input dates according to selected calendar را انتخاب کرده‌اید، مقدار ثبت شده در سلول به صورت شمسی خواهد بود.

حال با کمک همین پنجره تبدیل تاریخ شمسی به میلادی در اکسل را اجرا می‌کنیم. به این منظور کافی است قالب نمایش سلول یعنی فرمت سل را تغییر داده و طبق مثلا تقویم میلادی (Gregorian) در آوریم. این کار در تصویر ۲ به خوبی نمایش داده شده است. البته در قسمت Sample‌ نیز قبل از ثبت کامل، تغییرات به صورت پیش‌نمایش در این پنجره دیده می‌شوند.تقویم آنلاین

تصویر ۲: تغییر تاریخ شمسی به میلادی در اکسل

به این ترتیب مشخص می‌شود که تاریخ اول فروردین سال ۱۳۹۹، برابر با ۲۰ام مارس ۲۰۲۰ خواهد بود. به همین سادگی می‌توان تبدیل تاریخ شمسی به میلادی در اکسل را انجام داد. حتی می‌توان گامی به جلو برداشت و برای تبدیل عکس نیز اقدام کرد. کافی است پس از وارد کردن تاریخ میلادی در یک سلول، قالب‌بندی آن را بر مبنای تقویم آنلاین شمسی در آورید. درست به مانند روشی که در تصویر ۱ مشخص شده است.

نکته: از این شیوه برای تبدیل تاریخ شمسی به قمری، تبدیل تاریخ هجری قمری به شمسی، تبدیل تاریخ هجری قمری به میلادی و … نیز می‌توان استفاده کرد. موضوع قابل توجه آن است که محاسبات و بعضی از توابع تاریخ در اکسل، برای هر یک از تقویم فارسی های معرفی شده در تصویر ۲، قابل اجرا هستند.

خلاصه و جمع‌بندی
با توجه به وجود قالب یا فرمت نمایش و ثبت تاریخ شمسی در اکسل ۲۰۱۶ و ۲۰۱۹، بدون هیچ افزونه‌ای قادر به تبدیل هر یک از این تاریخ‌ها به یکدیگر هستیم. کافی است شکل تاریخ را در هر یک از قالب‌ها به درستی وارد کرده و با انتخاب قالب جدید برای نمایش تاریخ، عمل تبدیل تاریخ را اجرا کنیم. روش‌هایی که در نسخه‌های قدیمی اکسل اجرا می‌شوند، فقط شامل تغییر در نمایش تاریخ میلادی و نمایش آن به صورت شمسی هستند. ولی در این حالت اگر تاریخی را به صورت شمسی می‌نوشتیم، نمی‌توانستیم آن را به صورت میلادی نشان دهیم، زیرا در اغلب موارد شکل تاریخ شمسی در اکسل قابل درک نبود. ولی با توجه به نسخه‌های 2016 و 2019، امکانات جدیدی برای تبدیل تاریخ شمسی به میلادی در اکسل ایجاد شده است و کاربران بدون زحمت و به راحتی می‌توانند از هر دو تاریخ استفاده کرده یا آن‌ها را به یکدیگر تبدیل کنند.

 

منبع:



:: برچسب‌ها: سیستم آنلاین تبدیل تاریخ ,
:: بازدید از این مطلب : 81
|
امتیاز مطلب : 0
|
تعداد امتیازدهندگان : 0
|
مجموع امتیاز : 0
تاریخ انتشار : دو شنبه 22 شهريور 1400 | نظرات ()

صفحه قبل 1 2 3 4 5 ... 14 صفحه بعد